home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 February / EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso / earcd / assembler / progasm1.lha / SORGENTI / LEZIONE2h.S < prev    next >
Text File  |  1994-10-30  |  1KB  |  38 lines

  1.  
  2. ; Lezione2h.s
  3.  
  4. Inizio:
  5.     lea    $dff006,a0    ; VHPOSR - metti $dff006 in a0
  6.     lea    $dff180,a1    ; COLOR00 - metti $dff180 in a1
  7.     lea    $bfe001,a2    ; CIAAPRA - metti $bfe001 in a2
  8. Waitmouse:
  9.     move.w    (a0),(a1)+    ; metti il valore di $dff006 nel color 0,
  10.                 ; ovvero $dff180 (contenuto in a1)
  11.                 ; e incrementa di 2 a1, portandolo a $dff182,
  12.                 ; ossia il color 1
  13.     move.w    (a0),-(a1)    ; decrementa di 2 a1, riportandolo a $dff180,
  14.                 ; poi metti $dff006 nel color 0
  15.     btst    #6,(a2)        ; tasto sinistro del mouse premuto?
  16.     bne.s    Waitmouse    ; se no ritorna a waitmouse e ripeti
  17.     rts            ; esci
  18.  
  19.     END
  20.  
  21. Con questo ciclo si notano benissimo le differenze tra (a1)+ e -(a1), infatti
  22. sono messi in maniera da annullarsi a vicenda: mentre il primo (a1)+
  23. incrementa a1 di una word portandolo a $dff182, il -(a1) seguente riporta
  24. a1 a $dff180 e scrive sempre nel color 0.
  25. Infatti le due istruzioni si possono riscrivere semplicemente:
  26.  
  27.     move.w    (a0),(a1)
  28.     move.w    (a0),(a1)
  29.  
  30. Verificate lo scambiarsi degli indirizzi $dff180 e $dff182 nel reg. a1 facendo
  31. un AD.
  32. Ricordatevi BENE che quando vedete un + DOPO una parentesi il registro
  33. viene AUMENTATO (+!!!) DOPO l'operazione, mentre se vedete un - PRIMA di
  34. una parentesi il registro viene DIMINUITO (-!!!) PRIMA!!!
  35. NOTA: potete terminare il ciclo durante l'AD tenendo premuto il tasto sinistro
  36. quando si esegue il btst; una volta raggiunto l'RTS premete ESC per tornare.
  37.  
  38.